﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыОперацийКорректировкаДолгаПоВозвратнойТаре
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"08e54852-557f-4317-8827-441f7d459ba0\", \"Представление\":\"Поставщика\"}")]
		Поставщика = 0,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"5bbc2d7e-a977-47b3-95cf-e8c47c512461\", \"Представление\":\"УПокупателя\"}")]
		УПокупателя = 1,//у покупателя
	}
	public static partial class ВидыОперацийКорректировкаДолгаПоВозвратнойТаре_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid Поставщика = new Guid("1f442788-457d-a09b-4317-557f08e54852");
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid УПокупателя = new Guid("c4e8cf95-517c-6124-47b3-a9775bbc2d7e");//у покупателя
		public static ВидыОперацийКорректировкаДолгаПоВозвратнойТаре Получить(this ВидыОперацийКорректировкаДолгаПоВозвратнойТаре Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийКорректировкаДолгаПоВозвратнойТаре Получить(this ВидыОперацийКорректировкаДолгаПоВозвратнойТаре Значение, Guid Ссылка)
		{
			if(Ссылка == Поставщика)
			{
				return ВидыОперацийКорректировкаДолгаПоВозвратнойТаре.Поставщика;
			}
			else if(Ссылка == УПокупателя)
			{
				return ВидыОперацийКорректировкаДолгаПоВозвратнойТаре.УПокупателя;
			}
			return ВидыОперацийКорректировкаДолгаПоВозвратнойТаре.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийКорректировкаДолгаПоВозвратнойТаре Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийКорректировкаДолгаПоВозвратнойТаре Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийКорректировкаДолгаПоВозвратнойТаре.Поставщика: return Поставщика;
				case ВидыОперацийКорректировкаДолгаПоВозвратнойТаре.УПокупателя: return УПокупателя;
			}
			return Guid.Empty;
		}
	}
}